package com.xr.log.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xr.common.entity.ExceptionLog;
import org.springframework.web.multipart.MultipartFile;
import com.xr.common.axios.AxiosResult;
import com.xr.common.entity.dto.ExceptionLogDto;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 异常日志表
 *
 * @author fzh
 * @email e_341877120_mail@163.com
 * @date 2023-03-30 18:28:23
 */
public interface IExceptionLogService extends IService<ExceptionLog> {

	/**
	 * 根据条件查询列表
	 * @param exceptionLogDto
	 * @return
	 */
	AxiosResult selectList(ExceptionLogDto exceptionLogDto);

	/**
	 * 根据条件分页查询
	 * @param currentPage
	 * @param pageSize
	 * @param exceptionLogDto
	 * @return
	 */
	AxiosResult selectPage(int currentPage, int pageSize, ExceptionLogDto exceptionLogDto);

	/**
	 * 根据id查询单个
	 * @param id
	 * @return
	 */
	AxiosResult selectOneById(Long id);

	/**
	 * 新增
	 * @param exceptionLogDto
	 * @return
	 */
	AxiosResult insert(ExceptionLogDto exceptionLogDto);

	/**
	 * 更新
	 * @param exceptionLogDto
	 * @return
	 */
	AxiosResult update(ExceptionLogDto exceptionLogDto);

	/**
	 * 根据id删除单个
	 * @param id
	 * @return
	 */
	AxiosResult delete(Long id);

	/**
	 * 根据id集合批量删除
	 * @param idList
	 * @return
	 */
	AxiosResult deleteBatch(List<Long> idList);

	/**
	 * 导入文件
	 * @param file
	 * @return
	 */
	AxiosResult importFile(MultipartFile file);

	/**
	 * 导出文件
	 * @param response
	 */
	void exportFile(HttpServletResponse response);

}
